
/**
   * 常用的正则 pattern
   */
export enum RegxPattern {
    /**
     * 验证金额 保留2位小数
     */
    Money = "^(([1-9]\\d{0,9})|0)(\\.\\d{1,2})?$",

    /**
   * 密码正则表达式
   */
    Password = "[^\u4e00-\u9fa5]+",

    /**
   * 验证身份号码
   */
    IDCard = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{4}$",

    /**
     * 只能输入整数
     */
    Tel = "^\\d+$",

    /**
     * 只能输入英文 数字 下划线组成 /^\w+$/
     */
    LTT = "^\\w+$",
    /**
     * 邮箱
     */
    Email = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*",
    /**
     * 地址
     */
    URL = "^https?=\\/\\/(([a-zA-Z0-9_-])+(\\.)?)*(=\\d+)?(\\/((\\.)?(\\?)?=?&?[a-zA-Z0-9_-](\\?)?)*)*$"
}

/**
 * 正则帮助类
 */
export class Regular {

    /**
     * 获取得到一个 RegExp 正则对象
     * @param pattern 匹配字符串
     * @param flags attributes属性值 g,m,i 
     * @returns RegExp 对象
     */
    static getRegExp(pattern: RegxPattern | string, flags = "gmi") {
        return new RegExp(pattern, flags);
    }
}
